.bip-ripple-effect {
    position: absolute;
    width: 20px;
    height: 20px;
    background: rgba(255,255,255,0.3);
    border-radius: 50%;
    animation: ripple 0.6s linear;
    pointer-events: none;
}

@keyframes ripple {
    from { transform: scale(1); opacity: 1; }
    to { transform: scale(4); opacity: 0; }
}

.bip-error-fallback {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    background: rgba(0,0,0,0.8);
    padding: 20px;
    border-radius: 8px;
    color: white;
}

.retry-button {
    background: #00a1d6;
    border: none;
    padding: 8px 16px;
    border-radius: 20px;
    color: white;
    cursor: pointer;
    transition: transform 0.2s;
}

.retry-button:hover {
    transform: scale(1.05);
}

/* 全屏样式 */
:-webkit-full-screen .bip-main-container {
    width: 100% !important;
    height: 100% !important;
    padding-top: 0 !important;
    background: #000;
}

:fullscreen .bip-main-container {
    width: 100% !important;
    height: 100% !important;
    padding-top: 0 !important;
    background: #000;
}

/* 涟漪动画 */
@keyframes ripple {
    from { transform: scale(0); opacity: 1; }
    to { transform: scale(4); opacity: 0; }
}

.bip-ripple {
    position: absolute;
    width: 20px;
    height: 20px;
    background: rgba(255,255,255,0.3);
    border-radius: 50%;
    pointer-events: none;
}

/* 错误提示 */
.bip-error {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0,0,0,0.8);
    padding: 1rem 2rem;
    border-radius: 8px;
    color: white;
    text-align: center;
}

.bip-retry {
    background: var(--theme-color, #00a1d6);
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    color: white;
    margin-top: 1rem;
    cursor: pointer;
}